package data_structure;

public class leetcode_0059 {
    public int[][] generateMatrix(int n) {
        int startx=0;
        int starty=0;
        int offset=1;
        int count=1;
        int [][] num=new int[n][n];
        for(int l=0;l<n/2;++l){
            int i=startx;
            int j=starty;
            for(;j<starty-offset+n;++j){
                num[i][j]=count++;
            }
            for(;i<startx-offset+n;++i){
                num[i][j]=count++;
            }
            for(;j>starty;--j){
                num[i][j]=count++;
            }
            for(;i>startx;--i){
                num[i][j]=count++;
            }
            startx+=1;
            starty+=1;
            offset+=2;
        }
        if(n%2==1){
            num[n/2][n/2]=n*n;
        }
        return num;
    }
}
